home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" encoding="utf-8" ?>
- <ME_BRICK GUID="{69CFCCB1-9315-4763-BDF1-46206B76180F}" Name="RtUSpotlightVS2" GUIName="Spotlight-Vertex2" Description="Spotlight vertex shader part">
- <ME_BRICK_INPUTPARAM GUID="{44B5E5BD-8FC2-463e-BB36-00814D4EA939}" Name="SpotlightMatrix" Type="RtFloat4x4"/>
- <ME_BRICK_INPUTPARAM GUID="{0A8E2E47-2596-4138-950F-ECB427F16B3B}" Name="LightPosition" Type="RtFloat4"/>
- <ME_BRICK_INPUTPARAM GUID="{518CD9C6-8EAF-4b8e-B756-7E4DDB9239F7}" Name="WorldPosition" Type="RtFloat4"/>
- <ME_BRICK_INPUTPARAM GUID="{97241632-9FA0-40ad-BEA4-3D1D50040F38}" Name="ZNear" Type="RtFloat"/>
- <ME_BRICK_INPUTPARAM GUID="{5BEE7046-BEB6-4e89-A64F-07359E390A09}" Name="ZFar" Type="RtFloat"/>
- <ME_BRICK_OUTPUTPARAM GUID="{AE3E12E2-FB7D-4f17-8DF4-071745789710}" Name="LightColor" Type="RtFloat4"/>
- <ME_BRICK_OUTPUTPARAM GUID="{3ABE03E4-5048-4fd8-BC7C-D9AE7F2FBFC0}" Name="LightDistance" Type="RtFloat"/>
- <ME_BRICK_OUTPUTPARAM GUID="{2604EBE8-9B50-4eeb-9D47-716A110D2CB7}" Name="LightVector" Type="RtFloat3"/>
- <ME_BRICK_CODE>
- <![CDATA[
- //The spotlight VS method
- void RtUSpotlightVS2(in RtFloat4x4 SpotlightMatrix, in RtFloat4 LightPosition, in RtFloat4 WorldPosition,
- in RtFloat ZNear, in RtFloat ZFar,
- out RtFloat4 LightColor, out RtFloat LightDistance, out RtFloat3 LightVector)
- {
- LightVector = LightPosition - WorldPosition;
- LightDistance = rtx_Length(LightVector);
- RtFloat fDist = (LightDistance - ZNear) / (ZFar - ZNear);
- LightColor = rtx_Mul(WorldPosition, SpotlightMatrix);
- LightColor.xy = float2(0.5f, -0.5f) * LightColor.xy + 0.5f*LightColor.w;
- // LightColor.xy = LightColor.xy / LightColor.w;
- // LightColor.xy = float2(0.5f, -0.5f) * LightColor.xy + float2(0.5f, 0.5f);
- // LightColor.xy = LightColor.xy * LightColor.w;
- // LightColor.z = fDist;
- }
- ]]></ME_BRICK_CODE>
- </ME_BRICK>
-